package com.carleasoft.mps.exam.business.questions.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.carleasoft.mps.core.result.R;
import com.carleasoft.mps.core.user.ThreadUserContext;
import com.carleasoft.mps.core.user.UserCacheData;
import com.carleasoft.mps.exam.business.questions.bean.entity.ETopic;
import com.carleasoft.mps.exam.business.questions.bean.po.DownloadPo;
import com.carleasoft.mps.exam.business.questions.bean.po.ETopicAddOrEditPo;
import com.carleasoft.mps.exam.business.questions.bean.po.ETopicPageQueryPo;
import com.carleasoft.mps.exam.business.questions.bean.vo.ETopicDetailVo;
import com.carleasoft.mps.exam.business.questions.bean.vo.ETopicVo;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpServletResponse;
import java.util.List;

/**
 * <p>
 * 题目主表 服务类
 * </p>
 *
 * @author fan
 * @since 2023-05-17
 */
public interface ETopicService extends IService<ETopic> {
    /**
     * 题目-新增
     */
    boolean eTopicAdd(ETopicAddOrEditPo eTopicAddOrEditPo);
    /**
     * 题目-编辑
     */
    boolean eTopicEdit(ETopicAddOrEditPo eTopicAddOrEditPo);
    /**
     * 题目-删除
     */
    boolean eTopicDelete(ETopic eTopic);
    /**
     * 题目-分页查询
     */
    Page<ETopicVo> eTopicPageQuery(ETopicPageQueryPo eTopicPageQueryPo);
    /**
     * 题目-详情
     */
    ETopicDetailVo eTopicDetail(ETopic eTopic);
    /**
     * 题目-模板下载
     */
    boolean download(DownloadPo downloadPo, HttpServletResponse response);
    /**
     * 题目-模板解析
     */
    List<ETopicDetailVo> parse(DownloadPo downloadPo,MultipartFile file);
    /**
     * 题目-导入
     */
    boolean importETopic(List<ETopicAddOrEditPo> eTopicAddOrEditPos);

}
